﻿namespace UnityEngine
{
    using System;
    using System.Runtime.CompilerServices;

    public sealed class iPhoneSettings
    {
        [Obsolete("StartLocationServiceUpdates method is deprecated. Please use Input.location.Start instead.")]
        public static void StartLocationServiceUpdates()
        {
            StartLocationServiceUpdates(10f, 10f);
        }

        [Obsolete("StartLocationServiceUpdates method is deprecated. Please use Input.location.Start instead.")]
        public static void StartLocationServiceUpdates(float desiredAccuracyInMeters)
        {
            StartLocationServiceUpdates(desiredAccuracyInMeters, 10f);
        }

        [MethodImpl(MethodImplOptions.InternalCall), WrapperlessIcall, Obsolete("StartLocationServiceUpdates method is deprecated. Please use Input.location.Start instead.")]
        public static extern void StartLocationServiceUpdates(float desiredAccuracyInMeters, float updateDistanceInMeters);
        [MethodImpl(MethodImplOptions.InternalCall), WrapperlessIcall, Obsolete("StopLocationServiceUpdates method is deprecated. Please use Input.location.Stop instead.")]
        public static extern void StopLocationServiceUpdates();

        [Obsolete("generation property is deprecated. Please use iPhone.generation instead.")]
        private static iPhoneGeneration _generation;
        public static iPhoneGeneration generation { [MethodImpl(MethodImplOptions.InternalCall), WrapperlessIcall] get { return _generation; } }

        [Obsolete("internetReachability property is deprecated. Please use Application.internetReachability instead.")]
        public static iPhoneNetworkReachability internetReachability { [MethodImpl(MethodImplOptions.InternalCall), WrapperlessIcall] get; }

        [Obsolete("locationServiceEnabledByUser property is deprecated. Please use Input.location.isEnabledByUser instead.")]
        public static bool locationServiceEnabledByUser { [MethodImpl(MethodImplOptions.InternalCall), WrapperlessIcall] get; }

        [Obsolete("locationServiceStatus property is deprecated. Please use Input.location.status instead.")]
        public static LocationServiceStatus locationServiceStatus { [MethodImpl(MethodImplOptions.InternalCall), WrapperlessIcall] get; }

        [Obsolete("model property is deprecated. Please use SystemInfo.deviceModel instead.")]
        public static string model { [MethodImpl(MethodImplOptions.InternalCall), WrapperlessIcall] get; }

        [Obsolete("name property is deprecated. Please use SystemInfo.deviceName instead.")]
        public static string name { [MethodImpl(MethodImplOptions.InternalCall), WrapperlessIcall] get; }

        [Obsolete("screenCanDarken property is deprecated. Please use Screen.sleepTimeout instead.")]
        public static bool screenCanDarken { [MethodImpl(MethodImplOptions.InternalCall), WrapperlessIcall] get; [MethodImpl(MethodImplOptions.InternalCall), WrapperlessIcall] set; }

        [Obsolete("screenOrientation property is deprecated. Please use Screen.orientation instead.")]
        public static iPhoneScreenOrientation screenOrientation { [MethodImpl(MethodImplOptions.InternalCall), WrapperlessIcall] get; [MethodImpl(MethodImplOptions.InternalCall), WrapperlessIcall] set; }

        [Obsolete("systemName property is deprecated. Please use SystemInfo.operatingSystem instead.")]
        public static string systemName { [MethodImpl(MethodImplOptions.InternalCall), WrapperlessIcall] get; }

        [Obsolete("systemVersion property is deprecated. Please use SystemInfo.operatingSystem instead.")]
        public static string systemVersion { [MethodImpl(MethodImplOptions.InternalCall), WrapperlessIcall] get; }

        [Obsolete("uniqueIdentifier property is deprecated. Please use SystemInfo.deviceUniqueIdentifier instead.")]
        public static string uniqueIdentifier { [MethodImpl(MethodImplOptions.InternalCall), WrapperlessIcall] get; }

        [Obsolete("verticalOrientation property is deprecated. Please use Screen.orientation instead.")]
        public static bool verticalOrientation { [MethodImpl(MethodImplOptions.InternalCall), WrapperlessIcall] get; [MethodImpl(MethodImplOptions.InternalCall), WrapperlessIcall] set; }
    }
}

